로컬 및 원격으로 브랜치를 삭제하고 싶습니다. 원격 지점 삭제 시도 실패 $ git branch -d remotes / origin / bugfix 오류 : 'remotes / origin / bugfix'분기를 찾을 수 없습니다. $ git branch -d origin / bugfix 오류 : 'origin / bugfix'분기를 찾을 수 없습니다. $ git branch -rd origin / bugfix 원격 분기 출처 / 버그 수정을 삭제했습니다 (기존 2a14ef7). $ 자식 푸시 모든 최신 정보 $ 자식 풀 github.com:gituser/gitproject에서 * [새 브랜치] 버그 수정-> 출처 / 버그 수정 이미 최신 상태입니다. 로컬 및 원격 모두에서 remotes / origin / bugfix 브랜치를 성공적으로 삭제하려면 어떻게해야합니까?
2020-12-07 13:12:20
1 2 다음 요약 $ git push -d$ git branch -d 대부분의 경우 원격 이름은 origin입니다. 이 경우 이와 같은 명령을 사용해야합니다. $ git push -d origin 로컬 지점 삭제 로컬 브랜치를 삭제하려면 다음 중 하나를 사용하십시오. $ git branch -d branch_name $ git branch -D branch_name 참고 : -d 옵션은 --delete의 별칭으로, 업스트림 분기에서 이미 완전히 병합 된 경우에만 분기를 삭제합니다. "병합 상태에 관계없이"브랜치를 삭제하는 --delete --force의 별칭 인 -D를 사용할 수도 있습니다. [출처 : man git-branch] 또한 git branch -d branch_name은 현재 제거하려는 분기에서. 메시지는 오류 : 'branch_name'분기를 삭제할 수 없습니다. 그렇다면 먼저 예를 들어, git checkout master. 원격 지점 삭제 [2017 년 9 월 8 일 업데이트] Git v1.7.0부터 다음을 사용하여 원격 브랜치를 삭제할 수 있습니다. $ git push --delete 기억하기 더 쉬울 수 있습니다. $ git push : 이것은 Git v1.5.0에서 "원격 브랜치 또는 태그를 삭제하기 위해"추가되었습니다. Git v2.8.0부터는 --delete의 별칭으로 -d 옵션과 함께 git push를 사용할 수도 있습니다. 따라서 설치 한 Git의 버전에 따라 더 쉬운 구문을 사용해야하는지 더 어려운 구문을 사용해야하는지가 결정됩니다. 원격 지점 삭제 [2010 년 1 월 5 일의 원본 답변] Scott Chacon의 Pro Git 3 장에서 발췌 : 원격 지점 삭제 원격 브랜치 작업을 완료했다고 가정 해 보겠습니다. 예를 들어 귀하와 공동 작업자가 기능을 완료하고이를 원격의 마스터 브랜치 (또는 안정적인 코드 라인이있는 브랜치)에 병합했습니다. 다소 둔한 구문 git push [remotename] : [branch]를 사용하여 원격 브랜치를 삭제할 수 있습니다. 서버에서 server-fix 브랜치를 삭제하려면 다음을 실행합니다. $ git push origin : serverfix git@github.com : schacon / simplegit.git로 -[삭제됨] serverfix 팔. 서버에 더 이상 지점이 없습니다. 해당 명령이 필요하고 구문을 잊어 버릴 가능성이 높기 때문에이 페이지를 훑어 보는 것이 좋습니다. 이 명령을 기억하는 방법은 이전에 살펴본 git push [remotename] [localbranch] : [remotebranch] 구문을 다시 불러오는 것입니다. [localbranch] 부분을 생략하면 기본적으로 "내쪽에 아무것도 가져 가지 않고 [remotebranch]로 만드세요."라고 말하는 것입니다. 나는 git push origin : bugfix를 발행했고 아름답게 작동했습니다. Scott Chacon의 말이 옳았습니다.이 페이지 (또는 Stack Overflow에서 대답하여 가상으로 개 귀)를 귀를 기울이고 싶습니다. 그런 다음 다른 컴퓨터에서 실행해야합니다. # 모든 원격지에서 변경 사항을 가져오고 로컬에서 삭제 # 원격 삭제 된 분기 / 태그 등 # --prune은 일을 할 것입니다 :-; git fetch --all --prune 변경 사항을 전파합니다. | Matthew의 대답은 원격 분기를 제거하는 데 유용하며 설명도 감사하지만 두 명령을 간단하게 구분합니다. 컴퓨터에서 로컬 브랜치를 제거하려면 : git branch -d {the_local_branch} (대신 -D를 사용하여 병합 상태를 확인하지 않고 브랜치를 강제로 삭제) 서버에서 원격 분기를 제거하려면 : git push origin --delete {the_remote_branch} 참조 : Git : 분기 삭제 (로컬 또는 원격) | 짧은 답변 다음 명령에 대한 자세한 설명을 원하면 다음 섹션의 긴 답변을 참조하십시오. 원격 지점 삭제 git push origin --delete # Git 버전 1.7.0 이상 git push origin -d # 더 짧은 버전 (Git 1.7.0 이상) git push origin : # 1.7.0 이전의 Git 버전 로컬 브랜치 삭제 git branch --delete git branch -d # 더 짧은 버전 git branch -D # 병합되지 않은 분기 강제 삭제 로컬 원격 추적 분기 삭제 git branch --delete --remotes / git branch -dr / # 짧게 git fetch --prune # 쓸모없는 원격 추적 분기를 여러 개 삭제 git fetch -p # 짧게 긴 대답 : 삭제할 세 가지 분기가 있습니다! 로컬 및 원격으로 분기를 삭제하는 경우 세 가지 다른 분기가 관련되어 있음을 명심하십시오. 로컬 브랜치 X. 원격 오리진 분기 X. 원격 분기 X를 추적하는 로컬 원격 추적 분기 origin / X입니다. 사용 된 원래 포스터 : git branch -rd origin / bugfix 그의 로컬 원격 추적 분기 origin / bugfix 만 삭제했으며 오리진의 실제 원격 분기 버그 수정은 삭제하지 않았습니다. 실제 원격 지점을 삭제하려면 git push origin --delete bugfix 추가 세부 사항 다음 섹션에서는 원격 및 원격 추적 분기를 삭제할 때 고려해야 할 추가 세부 정보를 설명합니다. 원격 분기를 삭제하도록 푸시하면 원격 추적 분기도 제거됩니다. 명령 줄에서 원격 분기 X를 삭제하면git push를 사용하면 로컬 원격 추적 분기 origin / X도 제거되므로 git fetch --prune 또는 git fetch -p를 사용하여 더 이상 사용되지 않는 원격 추적 분기를 제거 할 필요가 없습니다. 그러나 어쨌든 그렇게한다면 아프지 않을 것입니다. 다음을 실행하여 원격 추적 분기 origin / X도 삭제되었는지 확인할 수 있습니다. # 원격 추적 분기 만보기 git branch --remotes 자식 지점 -r # 엄격하게 로컬 및 원격 추적 분기 모두보기 git branch --all git branch -a 사용되지 않는 로컬 원격 추적 분기 origin / X 정리 명령 줄에서 원격 브랜치 X를 삭제하지 않은 경우 (위와 같이) 로컬 리포지토리에는 여전히 (지금은 사용되지 않는) 원격 추적 브랜치 origin / X가 포함됩니다. 예를 들어 GitHub의 웹 인터페이스를 통해 직접 원격 브랜치를 삭제 한 경우 이러한 상황이 발생할 수 있습니다. 이러한 쓸모없는 원격 추적 브랜치를 제거하는 일반적인 방법 (Git 버전 1.6.6 이후)은 --prune 또는 더 짧은 -p를 사용하여 git fetch를 실행하는 것입니다. 이렇게하면 원격지에 더 이상 존재하지 않는 원격 분기에 대해 사용되지 않는 모든 로컬 원격 추적 분기가 제거됩니다. git fetch origin --prune git fetch origin -p # 짧게 다음은 1.6.6 릴리스 노트의 관련 인용문입니다 (강조 표시). "git fetch"는 --all 및 --multipleoptions를 배웠습니다. 많은 리포지토리 및 원격 추적을 제거하는 --prune 옵션 부실한 가지. 이것들은 "git remote update"와 "git 원격 정리 "가 덜 필요합니다 ("원격 정리 "를 제거 할 계획이 없습니다. 업데이트 "또는"원격 가지 치기 "). 사용되지 않는 원격 추적 분기에 대한 위의 자동 가지 치기의 대안 또는 git fetch -p를 통해 사용하지 않는 로컬 원격 추적 분기를 정리하는 대신 --remote 또는 -r 플래그를 사용하여 분기를 수동으로 제거하여 추가 네트워크 작업을 피할 수 있습니다. git branch --delete --remotes origin / X git branch -dr origin / X # 더 짧음 또한보십시오 git-branch (1) 매뉴얼 페이지. git-fetch (1) 매뉴얼 페이지. Pro Git § 3.5 Git 분기-원격 분기. | 브랜치를 삭제하는 단계 : 원격 브랜치를 삭제하려면 : git push origin --delete 로컬 브랜치를 삭제하는 방법에는 세 가지가 있습니다. 1 : git branch -D 2 : git branch --delete --force # -D와 동일 3 : git branch --delete # 병합 해제시 오류 설명 : 좋아요, 여기서 무슨 일이 일어나고 있는지 설명하세요! 간단히 git push origin --delete를 수행하여 원격 브랜치 만 삭제하고 끝에 브랜치 이름을 추가하면 동시에 삭제되고 원격으로 푸시됩니다. 또한 git branch -D, 단순히 로컬 브랜치 만 삭제합니다! ... -D는 --delete --force를 나타내며 병합되지 않았더라도 브랜치를 삭제합니다 (강제 삭제).하지만 --delete를 의미하는 -d를 사용하여 브랜치 병합 상태에 따라 오류를 발생시킬 수도 있습니다. 또한 단계를 보여주기 위해 아래 이미지를 만듭니다. | 다음을 사용하여 원격 지점을 삭제할 수도 있습니다. git push --delete origin serverfix 같은 일을하는 git push origin : serverfix 그러나 기억하기가 더 쉬울 수 있습니다. | 팁 : 다음을 사용하여 분기를 삭제할 때 git branch -d # 로컬 브랜치를 삭제 또는 git push origin : # 원격 분기 삭제 참조 만 삭제됩니다. 분기가 실제로 원격에서 제거 되더라도 해당 참조는 팀 구성원의 로컬 저장소에 여전히 존재합니다. 즉, 다른 팀원의 경우 git branch -a를 수행 할 때 삭제 된 분기가 계속 표시됩니다. 이 문제를 해결하기 위해 팀 구성원은 다음을 사용하여 삭제 된 분기를 정리할 수 있습니다. git remote prune 이것은 일반적으로 git remote prune origin입니다. | 브랜치를 삭제하려면 먼저 삭제할 브랜치 이외의 브랜치를 체크 아웃하십시오. git checkout other_than_branch_to_be_deleted 로컬 브랜치 삭제 : git branch -D branch_to_be_deleted 원격 지점 삭제 : git push origin --delete branch_to_be_deleted | git branch -D <브랜치 이름> git branch -D -r origin / <지점 이름> git push origin : <지점 이름> | 이것은 간단합니다. 다음 명령을 실행하십시오. Git 브랜치를 로컬 및 원격으로 삭제하려면 먼저 다음 명령을 사용하여 로컬 브랜치를 삭제합니다. git branch -d 예제 (여기에 지점 이름이 있습니다.) 그런 다음 다음 명령을 사용하여 원격 분기를 삭제하십시오. git push origin : 예 | 매우 간단합니다. 원격 지점을 삭제하려면 git push -d origin 또는 git push origin : 로컬 브랜치를 강제 삭제하려면 git branch -D <브랜치 이름> | 또 다른 접근 방식은 다음과 같습니다. git push --prune origin 경고 : 로컬에 존재하지 않는 모든 원격 분기를 삭제합니다. 또는 더 포괄적으로 git push --mirror 원격 저장소를 저장소의 로컬 사본처럼 효과적으로 만들 수 있습니다 (로컬 헤드, 원격 및 태그는 원격에서 미러링 됨). | 내 Bash 설정에서 다음을 사용합니다. alias git-shoot = "git push원산지-삭제 " 그런 다음 전화 할 수 있습니다. git-shoot branchname | 로컬에서 삭제 : 로컬 브랜치를 삭제하려면 다음을 사용할 수 있습니다. git branch -d 분기를 강제로 삭제하려면 -d 대신 -D를 사용하십시오. git branch -D 원격으로 삭제 : 두 가지 옵션이 있습니다. git push origin : branchname git push origin --delete branchname 더 직관적이기 때문에 두 번째 방법을 사용하는 것이 좋습니다. | 2013 년 1 월부터 GitHub에는 "분기"페이지의 각 분기 옆에 분기 삭제 버튼이 포함되었습니다. 관련 블로그 게시물 : 브랜치 생성 및 삭제 | 단일 명령으로이 두 단계를 모두 완료하려면 ~ / .gitconfig에 아래를 추가하여 별칭을 만들 수 있습니다. [별명] rmbranch = "! f () {git branch -d $ {1} && git push origin --delete $ {1};}; f" 또는 다음을 사용하여 명령 줄에서 전역 구성에이를 추가 할 수 있습니다. git config --global alias.rmbranch \ '! f () {git branch -d $ {1} && git push origin --delete $ {1}; };에프' 참고 : -d (소문자 d)를 사용하는 경우 분기는 병합 된 경우에만 삭제됩니다. 강제로 삭제하려면 -D (대문자 D)를 사용해야합니다. | 지점을 로컬 및 원격으로 삭제하려면 마스터 브랜치로 체크 아웃-Git Checkout Master 원격 브랜치 삭제-git push origin --delete 로컬 브랜치 삭제-git branch --delete | git remote prune origin을 사용하여이 작업을 수행 할 수도 있습니다. $ git remote prune origin 가지 치기 원점 URL : git@example.com/yourrepo.git * [pruned] 원산지 / 일부 가지 git branch -r 목록에서 원격 추적 분기를 정리하고 삭제합니다. | 다른 답변 외에도 git_remote_branch 도구를 자주 사용합니다. 추가 설치이지만 원격 지점과 상호 작용하는 편리한 방법을 제공합니다. 이 경우 삭제하려면 : grb 삭제 지점 게시 및 추적 명령도 자주 사용합니다. | 로컬 및 원격을 모두 삭제하는 한 줄짜리 명령 : D = 지점명; git branch -D $ D; git push origin : $ D 또는 ~ / .gitconfig에 아래 별칭을 추가하십시오. 사용법 : git kill branch-name [별명] kill = "! f () {git branch -D \"$ 1 \ "; git push origin --delete \"$ 1 \ ";}; f" | 분기 삭제 분기 "contact-form"에 대한 작업이 완료되고 이미 "master"에 통합되었다고 가정 해 보겠습니다. 더 이상 필요하지 않으므로 로컬에서 삭제할 수 있습니다. $ git branch -d 연락처 양식 그리고 원격 분기를 삭제하려면 : git push origin-연락처 양식 삭제 | 원격 지점 삭제 git push origin : 로컬 지점 삭제 git branch -D 로컬 분기 단계 삭제 : 다른 지점으로 체크 아웃 로컬 지점 삭제 | 간단히 말하세요 : git branch -d git push origin : | git push origin --delete <지점 이름> 기억하기 쉽다 git push origin : branchName | 이제 GitHub 데스크톱 애플리케이션으로 할 수 있습니다. 응용 프로그램을 시작한 후 분기가 포함 된 프로젝트를 클릭하십시오. 삭제하려는 지점으로 전환하십시오. "Branch"메뉴에서 "Unpublish ..."를 선택하여 GitHub 서버에서 분기를 삭제합니다. "Branch"메뉴에서 'Delete "branch_name"...'을 선택하여 로컬 컴퓨터에서 지점을 삭제합니다 (현재 작업중인 컴퓨터). | 로컬로 삭제하려면-(일반) git branch -d my_branch 분기가 리베이스 / 병합 진행 중이고 제대로 수행되지 않은 경우 Rebase / Merge in progress 오류가 발생하므로이 경우 브랜치를 삭제할 수 없습니다. 따라서 리베이스 / 병합을 해결해야합니다. 그렇지 않으면 다음을 사용하여 강제 삭제를 수행 할 수 있습니다. git branch -D my_branch 원격에서 삭제하려면 : git push --delete origin my_branch 다음을 사용하여 동일한 작업을 수행 할 수 있습니다. git push origin : my_branch # 둘 다 똑같이 할 것임을 기억하기 쉽습니다. 그래픽 표현 : | 리모컨의 브랜치와 이름이 같은 태그가 있으면 작동하지 않습니다. $ git push origin : branch-or-tag-name 오류 : dst refspec branch-or-tag-name이 둘 이상의 항목과 일치합니다. 오류 : 일부 참조를 'git@github.com : SomeName / some-repo.git'에 푸시하지 못했습니다. 이 경우 태그가 아닌 분기를 삭제하도록 지정해야합니다. git push origin : refs / heads / branch-or-tag-name 마찬가지로 분기 대신 태그를 삭제하려면 다음을 사용합니다. git push origin : refs / tags / branch-or-tag-name | 다른 많은 답변은 오류 / 경고로 이어질 것입니다. 예를 들어 some_other_branch에 완전히 병합되지 않은 경우 git branch -D branch_to_delete가 여전히 필요할 수 있지만이 접근 방식은 상대적으로 어리석은 증거입니다. git checkout some_other_branch git push origin : branch_to_delete git branch -d branch_to_delete 원격 분기를 삭제 한 경우 원격 정리가 필요하지 않습니다. 추적중인 리포지토리에서 사용할 수있는 최신 리모컨을 가져 오는 데만 사용됩니다. git fetch가 리모컨을 추가하는 것이 아니라 제거하는 것을 관찰했습니다. 다음은 git remote prune origin이 실제로 어떤 작업을 수행하는 경우의 예입니다. 사용자 A위의 단계를 수행합니다. 사용자 B는 다음 명령을 실행하여 최신 원격 분기를 확인합니다. 자식 가져 오기 git remote prune origin 자식 지점 -r | 이 답변에 대한 인터넷 검색이 지겨워서 crizCraig가 이전에 게시 한 답변에 비슷한 접근 방식을 취했습니다. 내 Bash 프로필에 다음을 추가했습니다. function gitdelete () { git push origin --delete $ 1 자식 브랜치 -D $ 1 } 그런 다음 분기 (예 : 마스터에 병합)를 완료 할 때마다 터미널에서 다음을 실행합니다. gitdelete 내 분기 이름 ... 그런 다음 원본과 로컬에서 my-branch-name을 삭제합니다. | 실행하기 전에 git branch --delete 다음을 실행하여 원격 브랜치의 정확한 이름이 무엇인지 먼저 확인하십시오. git ls-remote 그러면 값에 정확히 무엇을 입력해야하는지 알 수 있습니다. (분기는 대소 문자를 구분합니다!) | 사용하다: git push origin : bugfix # 원격 브랜치 삭제 git branch -d bugfix # 로컬 브랜치를 수동으로 삭제해야 함 삭제하려면 다음을 실행하십시오. git branch -D 버그 수정 이제 삭제 된 원격 분기를 정리하려면 git remote prune origin | 1 2 다음 매우 적극적인 질문입니다. 이 질문에 답하기 위해 평판 10을 획득하십시오. 평판 요구 사항은 스팸 및 비 응답 활동으로부터이 질문을 보호하는 데 도움이됩니다. 찾고있는 답변이 아닙니까? git version-control git-branch git-push git-remote 태그가 지정된 다른 질문을 찾아 보거나 직접 질문하십시오.